package cn.lanjh.system.service.impl;

import cn.lanjh.common.utils.StringUtils;
import cn.lanjh.system.domain.SysOss;
import cn.lanjh.system.mapper.SysOssMapper;
import cn.lanjh.system.service.ISysOssService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 文件上传 服务层实现
 *
 * @author lanjh
 * @date 2019-05-16
 */
@Service
public class SysOssServiceImpl implements ISysOssService {
    @Autowired
    private SysOssMapper sysOssMapper;

    /**
     * 查询文件上传信息
     *
     * @param id 文件上传ID
     * @return 文件上传信息
     */
    @Override
    public SysOss selectSysOssById(Long id) {
        return sysOssMapper.selectById(id);
    }

    /**
     * 查询文件上传列表
     *
     * @param sysOss 文件上传信息
     * @return 文件上传集合
     */
    @Override
    public List<SysOss> selectSysOssList(SysOss sysOss) {
        LambdaQueryWrapper<SysOss> queryWrapper = Wrappers.<SysOss>lambdaQuery();

        queryWrapper.like(!ObjectUtils.isEmpty(sysOss.getFileName()), SysOss::getFileName, sysOss.getFileName());
        queryWrapper.eq(!ObjectUtils.isEmpty(sysOss.getFileSuffix()), SysOss::getFileSuffix, sysOss.getFileSuffix());
        queryWrapper.like(!ObjectUtils.isEmpty(sysOss.getCreateBy()), SysOss::getCreateBy, sysOss.getCreateBy());

        return sysOssMapper.selectList(queryWrapper);
    }

    /**
     * 新增文件上传
     *
     * @param sysOss 文件上传信息
     * @return 结果
     */
    @Override
    public int insertSysOss(SysOss sysOss) {
        return sysOssMapper.insert(sysOss);
    }

    /**
     * 修改文件上传
     *
     * @param sysOss 文件上传信息
     * @return 结果
     */
    @Override
    public int updateSysOss(SysOss sysOss) {
        return sysOssMapper.updateById(sysOss);
    }

    /**
     * 删除文件上传对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteSysOssByIds(String ids) {
        return sysOssMapper.deleteBatchIds(StringUtils.stringToList(ids));
    }

}
